package com.qijian.maindata.domain.query;

import com.baomidou.mybatisplus.annotation.TableName;
import com.qijian.common.utils.mybatis.WhereType;
import com.qijian.common.utils.mybatis.WhereTypeEnum;
import lombok.Data;
import lombok.ToString;

import java.util.Date;
import java.util.Set;


/**
 * 产品终检对象 查询条件类
 *
 * @author qijian
 * @date 2022-04-25
 */

@Data
@ToString
@TableName("main_final_inspection")
public class FinalInspectionQuery {

    @WhereType(filed = "id")
    private Long id;
    @WhereType(filed = "id", type = WhereTypeEnum.IN)
    private Set<Long> ids;
    @WhereType(filed = "apply_user_id")
    private Long applyUserId;
    @WhereType(filed = "apply_user_name", type = WhereTypeEnum.LIKE)
    private String applyUserName;
    private Long chargeUserId;
    private String chargeUserName;
    @WhereType(filed = "contact_way")
    private String contactWay;
    @WhereType(filed = "location")
    private String location;
    @WhereType(filed = "project_id")
    private Long projectId;
    @WhereType(filed = "project_name", type = WhereTypeEnum.LIKE)
    private String projectName;
    @WhereType(filed = "content", type = WhereTypeEnum.LIKE)
    private String content;
    @WhereType(filed = "process_type_name", type = WhereTypeEnum.LIKE)
    private String processTypeName;
    @WhereType(filed = "is_inspect")
    private Boolean isInspect;
    @WhereType(filed = "approval_by")
    private String approvalBy;
    @WhereType(filed = "approval_time", type = WhereTypeEnum.BETWEEN)
    private Date[] approvalTime;
    @WhereType(filed = "approval_status")
    private String approvalStatus;
    @WhereType(filed = "create_by", type = WhereTypeEnum.LIKE)
    private String createBy;


    @WhereType(fields = {"main_final_inspection.apply_user_id",
            "main_final_inspection.charge_user_id",
            "main_final_inspection_user.user_id"})
    private Long authId;


}
